{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# PyTorch：定制神经网络nn模块"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "有时候需要指定比现有模块序列更复杂的模型；对于这些情况，可以通过继承`nn.Module`并定义`forward`函数，这个`forward`函数可以使用其他模块或者其他的自动求导运算来接收输入tensor，产生输出tensor。 \n",
    "\n",
    "在这个例子中，我们用自定义Module的子类构建两层网络："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 701.6395263671875\n",
      "1 651.0956420898438\n",
      "2 607.3786010742188\n",
      "3 568.88671875\n",
      "4 534.332275390625\n",
      "5 503.21112060546875\n",
      "6 474.90240478515625\n",
      "7 448.89923095703125\n",
      "8 424.7827453613281\n",
      "9 402.3093566894531\n",
      "10 381.2372741699219\n",
      "11 361.3872985839844\n",
      "12 342.71710205078125\n",
      "13 325.05010986328125\n",
      "14 308.2994384765625\n",
      "15 292.33349609375\n",
      "16 277.0810546875\n",
      "17 262.5264587402344\n",
      "18 248.66957092285156\n",
      "19 235.4266815185547\n",
      "20 222.78854370117188\n",
      "21 210.68695068359375\n",
      "22 199.15213012695312\n",
      "23 188.1366424560547\n",
      "24 177.61724853515625\n",
      "25 167.5712432861328\n",
      "26 158.02127075195312\n",
      "27 148.9678955078125\n",
      "28 140.36758422851562\n",
      "29 132.19912719726562\n",
      "30 124.43822479248047\n",
      "31 117.08468627929688\n",
      "32 110.13282012939453\n",
      "33 103.52521514892578\n",
      "34 97.28855895996094\n",
      "35 91.41927337646484\n",
      "36 85.87667846679688\n",
      "37 80.65116882324219\n",
      "38 75.7172622680664\n",
      "39 71.07212829589844\n",
      "40 66.69877624511719\n",
      "41 62.58610153198242\n",
      "42 58.725982666015625\n",
      "43 55.099239349365234\n",
      "44 51.701507568359375\n",
      "45 48.51972579956055\n",
      "46 45.54132843017578\n",
      "47 42.750099182128906\n",
      "48 40.13631820678711\n",
      "49 37.68974685668945\n",
      "50 35.398685455322266\n",
      "51 33.25185012817383\n",
      "52 31.239900588989258\n",
      "53 29.356861114501953\n",
      "54 27.591970443725586\n",
      "55 25.939664840698242\n",
      "56 24.393842697143555\n",
      "57 22.946979522705078\n",
      "58 21.591798782348633\n",
      "59 20.309146881103516\n",
      "60 19.109333038330078\n",
      "61 17.986469268798828\n",
      "62 16.935977935791016\n",
      "63 15.952529907226562\n",
      "64 15.022784233093262\n",
      "65 14.152491569519043\n",
      "66 13.336901664733887\n",
      "67 12.571521759033203\n",
      "68 11.854484558105469\n",
      "69 11.18287181854248\n",
      "70 10.55230712890625\n",
      "71 9.96047592163086\n",
      "72 9.404973030090332\n",
      "73 8.88322639465332\n",
      "74 8.39345645904541\n",
      "75 7.932924747467041\n",
      "76 7.499225616455078\n",
      "77 7.091912269592285\n",
      "78 6.70896577835083\n",
      "79 6.349092960357666\n",
      "80 6.010359764099121\n",
      "81 5.691333770751953\n",
      "82 5.390473365783691\n",
      "83 5.107206344604492\n",
      "84 4.839890480041504\n",
      "85 4.587986469268799\n",
      "86 4.3502116203308105\n",
      "87 4.126034259796143\n",
      "88 3.9139888286590576\n",
      "89 3.7140953540802\n",
      "90 3.5256025791168213\n",
      "91 3.347186326980591\n",
      "92 3.1786255836486816\n",
      "93 3.0194010734558105\n",
      "94 2.868624448776245\n",
      "95 2.7259812355041504\n",
      "96 2.5910627841949463\n",
      "97 2.463223934173584\n",
      "98 2.3422417640686035\n",
      "99 2.227687358856201\n",
      "100 2.1191983222961426\n",
      "101 2.0163936614990234\n",
      "102 1.9189590215682983\n",
      "103 1.8265628814697266\n",
      "104 1.7388814687728882\n",
      "105 1.6556638479232788\n",
      "106 1.5767920017242432\n",
      "107 1.501911997795105\n",
      "108 1.4307786226272583\n",
      "109 1.3631776571273804\n",
      "110 1.2991132736206055\n",
      "111 1.2382491827011108\n",
      "112 1.1803847551345825\n",
      "113 1.125380516052246\n",
      "114 1.073082685470581\n",
      "115 1.023436427116394\n",
      "116 0.976218044757843\n",
      "117 0.9313693046569824\n",
      "118 0.8886832594871521\n",
      "119 0.8481255769729614\n",
      "120 0.8094965219497681\n",
      "121 0.7727887034416199\n",
      "122 0.737835705280304\n",
      "123 0.7045575976371765\n",
      "124 0.6728510856628418\n",
      "125 0.6426788568496704\n",
      "126 0.6139500141143799\n",
      "127 0.5865722894668579\n",
      "128 0.5604958534240723\n",
      "129 0.5356491208076477\n",
      "130 0.5119441151618958\n",
      "131 0.48935648798942566\n",
      "132 0.46782296895980835\n",
      "133 0.44733017683029175\n",
      "134 0.42774972319602966\n",
      "135 0.40909332036972046\n",
      "136 0.3913019001483917\n",
      "137 0.37432271242141724\n",
      "138 0.3581238090991974\n",
      "139 0.3426630198955536\n",
      "140 0.3279130160808563\n",
      "141 0.3138378858566284\n",
      "142 0.3003946542739868\n",
      "143 0.287548303604126\n",
      "144 0.2752786874771118\n",
      "145 0.26356032490730286\n",
      "146 0.2523752748966217\n",
      "147 0.24168269336223602\n",
      "148 0.23148325085639954\n",
      "149 0.2217656821012497\n",
      "150 0.21245832741260529\n",
      "151 0.20356662571430206\n",
      "152 0.19506944715976715\n",
      "153 0.18694360554218292\n",
      "154 0.17918424308300018\n",
      "155 0.17178210616111755\n",
      "156 0.16468870639801025\n",
      "157 0.1579098105430603\n",
      "158 0.15143828094005585\n",
      "159 0.14524783194065094\n",
      "160 0.13931578397750854\n",
      "161 0.13364458084106445\n",
      "162 0.12821872532367706\n",
      "163 0.1230207085609436\n",
      "164 0.11804254353046417\n",
      "165 0.11328203231096268\n",
      "166 0.10871733725070953\n",
      "167 0.1043456494808197\n",
      "168 0.10016582906246185\n",
      "169 0.09616515040397644\n",
      "170 0.09233588725328445\n",
      "171 0.08866313844919205\n",
      "172 0.08514397591352463\n",
      "173 0.08177293837070465\n",
      "174 0.07854333519935608\n",
      "175 0.07544845342636108\n",
      "176 0.07247935235500336\n",
      "177 0.06963314861059189\n",
      "178 0.06690377742052078\n",
      "179 0.0642896294593811\n",
      "180 0.061781033873558044\n",
      "181 0.05937384068965912\n",
      "182 0.057066336274147034\n",
      "183 0.05485228821635246\n",
      "184 0.05273101478815079\n",
      "185 0.050694771111011505\n",
      "186 0.04873921349644661\n",
      "187 0.046862054616212845\n",
      "188 0.04506045952439308\n",
      "189 0.04333432391285896\n",
      "190 0.04167686402797699\n",
      "191 0.04008774086833\n",
      "192 0.03855890780687332\n",
      "193 0.03709085285663605\n",
      "194 0.03568156063556671\n",
      "195 0.03432843089103699\n",
      "196 0.033030714839696884\n",
      "197 0.03178266063332558\n",
      "198 0.030585382133722305\n",
      "199 0.029434742406010628\n",
      "200 0.02832939848303795\n",
      "201 0.027267785742878914\n",
      "202 0.026246899738907814\n",
      "203 0.02526785619556904\n",
      "204 0.024325771257281303\n",
      "205 0.023421842604875565\n",
      "206 0.022553060203790665\n",
      "207 0.021717051044106483\n",
      "208 0.020913757383823395\n",
      "209 0.020141350105404854\n",
      "210 0.019399279728531837\n",
      "211 0.018686216324567795\n",
      "212 0.018000446259975433\n",
      "213 0.017340801656246185\n",
      "214 0.016706403344869614\n",
      "215 0.016096660867333412\n",
      "216 0.01551058143377304\n",
      "217 0.01494617760181427\n",
      "218 0.01440394762903452\n",
      "219 0.013881820254027843\n",
      "220 0.013379566371440887\n",
      "221 0.012896455824375153\n",
      "222 0.012431761249899864\n",
      "223 0.011984026990830898\n",
      "224 0.011553448624908924\n",
      "225 0.011138996109366417\n",
      "226 0.010740264318883419\n",
      "227 0.010356356389820576\n",
      "228 0.00998676661401987\n",
      "229 0.00963091105222702\n",
      "230 0.009288281202316284\n",
      "231 0.008958617225289345\n",
      "232 0.00864146463572979\n",
      "233 0.008335825987160206\n",
      "234 0.008041529916226864\n",
      "235 0.007758028339594603\n",
      "236 0.007485234644263983\n",
      "237 0.007222644053399563\n",
      "238 0.006969313602894545\n",
      "239 0.006725354585796595\n",
      "240 0.006490311119705439\n",
      "241 0.00626389542594552\n",
      "242 0.0060460264794528484\n",
      "243 0.005835900083184242\n",
      "244 0.005633410066366196\n",
      "245 0.0054383049719035625\n",
      "246 0.005250309128314257\n",
      "247 0.005069336853921413\n",
      "248 0.0048948838375508785\n",
      "249 0.004726689774543047\n",
      "250 0.00456464197486639\n",
      "251 0.004408576525747776\n",
      "252 0.004257937427610159\n",
      "253 0.0041127591393888\n",
      "254 0.003972767386585474\n",
      "255 0.0038378946483135223\n",
      "256 0.003707905299961567\n",
      "257 0.003582394914701581\n",
      "258 0.003461428452283144\n",
      "259 0.0033447244204580784\n",
      "260 0.0032321764156222343\n",
      "261 0.0031235599890351295\n",
      "262 0.003018814604729414\n",
      "263 0.0029177519027143717\n",
      "264 0.0028202540706843138\n",
      "265 0.002726257313042879\n",
      "266 0.002635591896250844\n",
      "267 0.0025481495540589094\n",
      "268 0.002463732613250613\n",
      "269 0.0023822984658181667\n",
      "270 0.0023037148639559746\n",
      "271 0.00222779531031847\n",
      "272 0.002154578687623143\n",
      "273 0.0020838885102421045\n",
      "274 0.002015626523643732\n",
      "275 0.00194970250595361\n",
      "276 0.0018861194839701056\n",
      "277 0.0018247243715450168\n",
      "278 0.0017654129769653082\n",
      "279 0.001708128023892641\n",
      "280 0.00165283284150064\n",
      "281 0.001599373877979815\n",
      "282 0.0015477692941203713\n",
      "283 0.0014979144325479865\n",
      "284 0.0014497871743515134\n",
      "285 0.0014032855397090316\n",
      "286 0.0013583428226411343\n",
      "287 0.0013149254955351353\n",
      "288 0.0012729872250929475\n",
      "289 0.0012324622366577387\n",
      "290 0.0011932998895645142\n",
      "291 0.0011554320808500051\n",
      "292 0.0011188440257683396\n",
      "293 0.0010835172142833471\n",
      "294 0.0010493743466213346\n",
      "295 0.001016321242786944\n",
      "296 0.0009844189044088125\n",
      "297 0.0009535320568829775\n",
      "298 0.0009236789192073047\n",
      "299 0.0008948660106398165\n",
      "300 0.0008669571834616363\n",
      "301 0.0008399697835557163\n",
      "302 0.0008138871053233743\n",
      "303 0.0007886892999522388\n",
      "304 0.0007642694981768727\n",
      "305 0.0007406905642710626\n",
      "306 0.0007178653031587601\n",
      "307 0.0006957704899832606\n",
      "308 0.000674431910738349\n",
      "309 0.0006537867011502385\n",
      "310 0.000633806106634438\n",
      "311 0.0006144552608020604\n",
      "312 0.0005957342218607664\n",
      "313 0.0005776356556452811\n",
      "314 0.0005601128796115518\n",
      "315 0.0005431612371467054\n",
      "316 0.0005267494125291705\n",
      "317 0.0005108745535835624\n",
      "318 0.0004954895121045411\n",
      "319 0.00048061899724416435\n",
      "320 0.0004662059072870761\n",
      "321 0.0004522647359408438\n",
      "322 0.0004387567169032991\n",
      "323 0.0004256840329617262\n",
      "324 0.00041304173646494746\n",
      "325 0.0004007753450423479\n",
      "326 0.0003889062500093132\n",
      "327 0.0003774045326281339\n",
      "328 0.00036626181099563837\n",
      "329 0.0003554789291229099\n",
      "330 0.0003450428193900734\n",
      "331 0.00033492379589006305\n",
      "332 0.0003251246816944331\n",
      "333 0.000315632380079478\n",
      "334 0.0003064332704525441\n",
      "335 0.0002975133538711816\n",
      "336 0.00028887088410556316\n",
      "337 0.00028050175751559436\n",
      "338 0.00027239706832915545\n",
      "339 0.00026453760801814497\n",
      "340 0.0002569252101238817\n",
      "341 0.0002495295484550297\n",
      "342 0.00024237288744188845\n",
      "343 0.00023543673160020262\n",
      "344 0.00022870794055052102\n",
      "345 0.00022218628146219999\n",
      "346 0.00021586238290183246\n",
      "347 0.00020973554637748748\n",
      "348 0.0002037876402027905\n",
      "349 0.0001980354863917455\n",
      "350 0.00019244116265326738\n",
      "351 0.00018702085071709007\n",
      "352 0.00018176155572291464\n",
      "353 0.00017666324856691062\n",
      "354 0.00017172543448396027\n",
      "355 0.00016692168719600886\n",
      "356 0.00016226668958552182\n",
      "357 0.00015775645442772657\n",
      "358 0.00015337498916778713\n",
      "359 0.00014912332699168473\n",
      "360 0.00014499400276690722\n",
      "361 0.00014099529653321952\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "362 0.00013710831990465522\n",
      "363 0.00013333647802937776\n",
      "364 0.0001296786213060841\n",
      "365 0.00012612727005034685\n",
      "366 0.00012268038699403405\n",
      "367 0.00011933145287912339\n",
      "368 0.0001160905885626562\n",
      "369 0.00011293421994196251\n",
      "370 0.00010986903362208977\n",
      "371 0.00010689537157304585\n",
      "372 0.00010401079634902999\n",
      "373 0.00010121030936716124\n",
      "374 9.848496119957417e-05\n",
      "375 9.583996143192053e-05\n",
      "376 9.327226871391758e-05\n",
      "377 9.07772991922684e-05\n",
      "378 8.835810876917094e-05\n",
      "379 8.600462751928717e-05\n",
      "380 8.37184488773346e-05\n",
      "381 8.149791392497718e-05\n",
      "382 7.933916640467942e-05\n",
      "383 7.724519673502073e-05\n",
      "384 7.520757935708389e-05\n",
      "385 7.32297557988204e-05\n",
      "386 7.130228914320469e-05\n",
      "387 6.943612970644608e-05\n",
      "388 6.76182025927119e-05\n",
      "389 6.585358642041683e-05\n",
      "390 6.41354126855731e-05\n",
      "391 6.246439443202689e-05\n",
      "392 6.084598135203123e-05\n",
      "393 5.926873564021662e-05\n",
      "394 5.7735513109946623e-05\n",
      "395 5.624312689178623e-05\n",
      "396 5.4793956223875284e-05\n",
      "397 5.338621122064069e-05\n",
      "398 5.2017781854374334e-05\n",
      "399 5.068198515800759e-05\n",
      "400 4.93890474899672e-05\n",
      "401 4.812732368009165e-05\n",
      "402 4.69004298793152e-05\n",
      "403 4.570911914925091e-05\n",
      "404 4.454804729903117e-05\n",
      "405 4.342204556451179e-05\n",
      "406 4.2322146327933297e-05\n",
      "407 4.125494888285175e-05\n",
      "408 4.021506538265385e-05\n",
      "409 3.920491872122511e-05\n",
      "410 3.82201760658063e-05\n",
      "411 3.72626273019705e-05\n",
      "412 3.633009328041226e-05\n",
      "413 3.5425007808953524e-05\n",
      "414 3.45404987456277e-05\n",
      "415 3.3684191294014454e-05\n",
      "416 3.284585909568705e-05\n",
      "417 3.2031162845669314e-05\n",
      "418 3.124116483377293e-05\n",
      "419 3.0467102988041006e-05\n",
      "420 2.9716367862420157e-05\n",
      "421 2.898630737036001e-05\n",
      "422 2.8272894269321114e-05\n",
      "423 2.7580277674132958e-05\n",
      "424 2.6903102479991503e-05\n",
      "425 2.624732587719336e-05\n",
      "426 2.5606741473893635e-05\n",
      "427 2.4982482500490732e-05\n",
      "428 2.4376859073527157e-05\n",
      "429 2.3785005396348424e-05\n",
      "430 2.320706335012801e-05\n",
      "431 2.264599061163608e-05\n",
      "432 2.20991532842163e-05\n",
      "433 2.1566404029726982e-05\n",
      "434 2.104565101035405e-05\n",
      "435 2.0540974219329655e-05\n",
      "436 2.004753696382977e-05\n",
      "437 1.9568842617445625e-05\n",
      "438 1.9098974007647485e-05\n",
      "439 1.8644317606231198e-05\n",
      "440 1.8199430996901356e-05\n",
      "441 1.7765851225703955e-05\n",
      "442 1.734449870127719e-05\n",
      "443 1.6933403458097018e-05\n",
      "444 1.6531246728845872e-05\n",
      "445 1.6140658772201277e-05\n",
      "446 1.5757188521092758e-05\n",
      "447 1.5386176528409123e-05\n",
      "448 1.5025071661511902e-05\n",
      "449 1.467056335968664e-05\n",
      "450 1.4326724340207875e-05\n",
      "451 1.3990746083436534e-05\n",
      "452 1.3664207472174894e-05\n",
      "453 1.3343563296075445e-05\n",
      "454 1.3032666174694896e-05\n",
      "455 1.2728202818834689e-05\n",
      "456 1.2433058145688847e-05\n",
      "457 1.2143319509050343e-05\n",
      "458 1.186216832138598e-05\n",
      "459 1.1587924745981582e-05\n",
      "460 1.1319288205413613e-05\n",
      "461 1.1057521987822838e-05\n",
      "462 1.0801585631270427e-05\n",
      "463 1.0552738785918336e-05\n",
      "464 1.0310123798262794e-05\n",
      "465 1.0073716111946851e-05\n",
      "466 9.842268809734378e-06\n",
      "467 9.617120667826384e-06\n",
      "468 9.396957466378808e-06\n",
      "469 9.182880603475496e-06\n",
      "470 8.97273639566265e-06\n",
      "471 8.768020961724687e-06\n",
      "472 8.569439160055481e-06\n",
      "473 8.373650416615419e-06\n",
      "474 8.183505087799858e-06\n",
      "475 7.998541150300298e-06\n",
      "476 7.817202458682004e-06\n",
      "477 7.640527655894402e-06\n",
      "478 7.467504474334419e-06\n",
      "479 7.298619948414853e-06\n",
      "480 7.134526640584227e-06\n",
      "481 6.97369569024886e-06\n",
      "482 6.817236680944916e-06\n",
      "483 6.665061846433673e-06\n",
      "484 6.5149606598424725e-06\n",
      "485 6.368991762428777e-06\n",
      "486 6.226925961527741e-06\n",
      "487 6.087032943469239e-06\n",
      "488 5.951915682089748e-06\n",
      "489 5.819007128593512e-06\n",
      "490 5.6899052651715465e-06\n",
      "491 5.563187187362928e-06\n",
      "492 5.439282631414244e-06\n",
      "493 5.318614057614468e-06\n",
      "494 5.200662144488888e-06\n",
      "495 5.085505563329207e-06\n",
      "496 4.9726927500159945e-06\n",
      "497 4.862940841121599e-06\n",
      "498 4.756494490720797e-06\n",
      "499 4.651483322959393e-06\n"
     ]
    }
   ],
   "source": [
    "# 可运行代码见本文件夹中的 two_layer_net_module.py\n",
    "import torch\n",
    "\n",
    "class TwoLayerNet(torch.nn.Module):\n",
    "    def __init__(self, D_in, H, D_out):\n",
    "        \"\"\"\n",
    "        在构造函数中，我们实例化了两个nn.Linear模块，并将它们作为成员变量。\n",
    "        \"\"\"\n",
    "        super(TwoLayerNet, self).__init__()\n",
    "        self.linear1 = torch.nn.Linear(D_in, H)\n",
    "        self.linear2 = torch.nn.Linear(H, D_out)\n",
    "\n",
    "    def forward(self, x):\n",
    "        \"\"\"\n",
    "        在前向传播的函数中，我们接收一个输入的张量，也必须返回一个输出张量。\n",
    "        我们可以使用构造函数中定义的模块以及张量上的任意的（可微分的）操作。\n",
    "        \"\"\"\n",
    "        h_relu = self.linear1(x).clamp(min=0)\n",
    "        y_pred = self.linear2(h_relu)\n",
    "        return y_pred\n",
    "\n",
    "# N是批大小； D_in 是输入维度；\n",
    "# H 是隐藏层维度； D_out 是输出维度\n",
    "N, D_in, H, D_out = 64, 1000, 100, 10\n",
    "\n",
    "# 产生输入和输出的随机张量\n",
    "x = torch.randn(N, D_in)\n",
    "y = torch.randn(N, D_out)\n",
    "\n",
    "# 通过实例化上面定义的类来构建我们的模型。\n",
    "model = TwoLayerNet(D_in, H, D_out)\n",
    "\n",
    "# 构造损失函数和优化器。\n",
    "# SGD构造函数中对model.parameters()的调用，\n",
    "# 将包含模型的一部分，即两个nn.Linear模块的可学习参数。\n",
    "loss_fn = torch.nn.MSELoss(reduction='sum')\n",
    "optimizer = torch.optim.SGD(model.parameters(), lr=1e-4)\n",
    "for t in range(500):\n",
    "    # 前向传播：通过向模型传递x计算预测值y\n",
    "    y_pred = model(x)\n",
    "\n",
    "    #计算并输出loss\n",
    "    loss = loss_fn(y_pred, y)\n",
    "    print(t, loss.item())\n",
    "\n",
    "    # 清零梯度，反向传播，更新权重\n",
    "    optimizer.zero_grad()\n",
    "    loss.backward()\n",
    "    optimizer.step()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (Spyder)",
   "language": "python3",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": false,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "227.797px"
   },
   "toc_section_display": true,
   "toc_window_display": false
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
